<?php

include_once 'autoload.php';

class FormLogin extends Zend_Form {

    public function init() {

        $this->setName('Login');

        $userName = new Zend_Form_Element_Text('userName');

        $userName->setLabel('Nom: ')
                ->setRequired();

        // Création d'un validateur de mot de passe complexe basé sur les regex
        $pwdValide = new Zend_Validate_Regex(('((?=.*[a-z])(?=.*[A-Z]).{6,20})'));
        $pwdValide->setMessage("Mot de passe entre 6 et 20 caractères avec au moins 1 chiffre, 1 majuscule");
        $password = new Zend_Form_Element_Password('password');
        $password->setLabel('Mot de passe:')
                ->setRequired()
                ->addValidator($pwdValide);

        $login = new Zend_Form_Element_Submit('login');

        $login->setLabel('Envoyer');



        $this->addElements(array($userName, $password, $login))
                ->setMethod('post')
                ->setAction('formAuth01.php');
    }

    
    
    

}

function estAuthentifie($userName, $userPwd) {
        $db = new Zend_Db_Adapter_Pdo_Mysql(array(
            'host' => 'localhost',
            'username' => 'root',
            'password' => '',
            'dbname' => 'gsb_frais'
        ));
        $authAdapter = new Zend_Auth_Adapter_DbTable($db);
        $authAdapter->setTableName('comptable')
                ->setIdentityColumn('login')
                ->setCredentialColumn('mdp');
        $authAdapter->setIdentity($userName)
                ->setCredential($userPwd)
                ->setCredentialTreatment('MD5(?)');
        $auth = Zend_Auth::getInstance();
        $result = $auth->authenticate($authAdapter);
        return ($result -> isValid() ? TRUE : FALSE);
    }
    
$view = new Zend_View(); //autoload 
$form = new FormLogin(); //autoload 


if (!$_POST) {

// rendu du formulaire vierge 

    echo $form->render($view);
} else

if (!$form->isValid($_POST)) {

// rendu du formulaire rempli et messages d'erreurs 

    echo $form->render($view);
} else {
 $userName = $form->getValue('userName');
 $userPwd = $form->getValue('password');
 if (estAuthentifie($userName, $userPwd)) {
     echo 'Done';
 }
 else {
     echo 'Problème !';
 }
         
// formulaire valide.traiter les donnees postees 
    //Zend_Debug::dump($_POST); idem var_dump($_POST) 

    Zend_Debug::dump($form->getValues());
}
?>